package 二分查找.easy;

/**
 * 1. 问题描述
 *      你总共有n枚硬币，你需要将它们摆成一个阶梯形状，第k行就必须正好有k枚硬币。
 *      给定一个数字n，找出可形成完整阶梯行的总行数。
 *      n是一个非负整数，并且在32位有符号整型的范围内。
 *
 * 2. 算法分析
 *      1. 模拟法 代码简单 但是不是最优的解法
 *
 *      2.
 *
 * 3. 代码实现
 */
@SuppressWarnings("all")
public class 排列硬币 {
    public static void main(String[] args) {

    }

    /**
     * 模拟法
     * @param n
     * @return
     */
    public static int arrangeCoins(int n) {
        int ans = 0;
        int row = 1; // 记录行数
        while(n >= row) {
            ans++;
            n -= row;
            row++;
        }
        return ans;
    }

    /**
     * 二分法
     * @param n
     * @return
     */
    public static int arrangeCoins2(int n) {

        return 0;
    }
}
